package com.msmall.community.album.dao;

import java.util.List;

import com.msmall.base.dao.BaseDao;
import com.msmall.community.album.model.Photo;
import com.msmall.community.album.model.Reply;

public interface AlbumDao extends BaseDao{

	/**
	 * 获得用户所有的相册列表:Album, Photo
	 * <br/>
	 * 同时获得相册的封面，如果封面为NULL.使用默认封面
	 */
	public List<Object[]> getAlumsByUserid(Long userid) throws Exception;
	
	/**
	 * 删除相册时，移动相片所属相册
	 * @param albumid 被删除的相册ID
	 * @param targetid 相片被移动到
	 */
	public void updatePhotoAlbum(Long albumid, Long targetid, Long userid) throws Exception;
	
	/**
	 * 获得图片的所有评论
	 */
	public List<Reply> getReplysByPhotoid(Long photoid, Short enabled)throws Exception;
	
	/**
	 * 通过id查找照片的前一张图片,按ID排序，如果是第一张，跳到最后一张，同时增加图片访问次数
	 */
	public Photo getPhotoPreByid(Long photoid) throws Exception;
	
	/**
	 * 通过id查找照片的后一张图片,按ID排序，如果是最后一张，跳到第一张，同时增加图片访问次数
	 */
	public Photo getPhotoNextByid(Long photoid) throws Exception;
}
